package com.huihong.internship.system.Mapper;


import com.github.pagehelper.Page;
import com.huihong.internship.system.DTO.StudentPageQueryDTO;
import com.huihong.internship.system.DTO.TeacherScoreDTO;
import com.huihong.internship.system.VO.StudentDetailVO;
import com.huihong.internship.system.VO.StudentVO;
import com.huihong.internship.system.VO.InternshipMaterialItemVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface TeacherMapper {


    Page<StudentVO> getStuPage(Long userId, StudentPageQueryDTO dto);
    
    /**
     * 查询学生实习详情
     * @param studentId 学生ID
     * @return 学生实习详情
     */
    StudentDetailVO getStudentDetail(@Param("studentId") Long studentId);
    
    /**
     * 查询学生提交的材料
     * @param studentId 学生ID
     * @param materialType 材料类型（可选：1 - 周志，2 - 实习报告，3 - 最终成果）
     * @return 学生提交的材料列表
     */
    List<InternshipMaterialItemVO> getStudentMaterials(@Param("studentId") Long studentId, @Param("materialType") Integer materialType);

    /**
     * 给出材料反馈
     * @param materialId
     * @param teacherFeedback
     */
    void updateFeedback(Long materialId, String teacherFeedback);

    /**
     * 提交学生成绩评定
     * @param studentId 学生ID
     * @param scoreDTO 成绩评定数据
     */
    void submitScore(@Param("studentId") Long studentId, @Param("scoreDTO") TeacherScoreDTO scoreDTO);
}
